Getting Started¶
Prerequisites¶
Before you try to build SSAGES, make sure that you have the following packages installed:
Package |
Required version |
Package name in Ubuntu repository |
---|---|---|
1.8 or higher |
openmpi-common, libopenmpi-dev |
|
4.9 or higher |
gcc-4.9 |
|
2.8 or higher |
cmake |
|
2.7 |
python2.7 |
Get the Source Code¶
There are two ways of getting the source code for SSAGES: Download a ZIP file from GitHub or clone the Git repository. We strongly recommend the second method, as it allows you to easily stay up-to-date with the latest version.
To clone the Git repository, call
git clone https://github.com/SSAGESproject/SSAGES.git
Build SSAGES¶
SSAGES supports a number of simulation engines. If you have already downloaded
an engine’s source files, the general steps for building SSAGES with this
engine are as follows. (The example here assumes the engine is called “Engine”
and uses the respective CMake flag -DENGINE_SRC
.)
mkdir build/
cd build/
cmake .. -DENGINE_SRC=/path/to/engine
make
The different supported engines have respective _SRC
flags to specify
their source code path. For engine-specific steps and options, consult the
Engines page, which provides more in-depth directions. SSAGES
supports most CMake flags, including -DCMAKE_BUILD_TYPE
or specifying the
compilers with -DCMAKE_C_COMPILER=
and -DCMAKE_CXX_COMPILER=
.
It is possible to have SSAGES auto-download the source codes for LAMMPS and
GROMACS. This is done by providing the option -DLAMMPS=YES
for LAMMPS and
-DGROMACS=YES
for GROMACS to CMake. However, in many cases, it will be
necessary to build SSAGES using your local copy of the MD engine source code.
For example, if you have modified it to fit a special need, LAMMPS or GROMACS
does not support natively.
mkdir build/
cd build/
cmake .. -DLAMMPS=YES
make
or
mkdir build/
cd build/
cmake .. -DGROMACS=YES
make
This set of commands will automatically download LAMMPS/GROMACS and build it together with SSAGES.
For these and other supported engines, you can build with a local copy of the MD engine source code, as described in the Engines section. This can be useful if you are building on a system that has limited or no connectivity or if you want to add user modifications to the engine’s source code before compiling.
Run SSAGES¶
In order to run SSAGES, you call the executable followed by the input file. For example, with an input file called input.json, simple single-core jobs can call
./ssages input.json
while jobs running on multiple threads can call
mpiexec -np 6 ./ssages input.json
Here, the -np
flag dictates the total number of processors on which the
simulation will run and input.json is the input file. For more information,
consult the Input Files section.